Genereer Zorgplanvoorstellen in Power Apps met DocuGenerate

Artikelafbeelding
Auteur Door DocuGenerate

22 December 2025

Introductie

Bij de onboarding van werknemers moeten nieuwe medewerkers vaak worden geholpen bij het navigeren door complexe arbeidsvoorwaarden, met name bij het kiezen van een ziektekostenverzekering. Bedrijven bieden doorgaans meerdere zorgplannen aan met verschillende dekkingsniveaus, premies, en eigen bijdragen, wat nieuwe werknemers kan overweldigen bij het maken van de beste keuze voor hun gezin. In deze tutorial nemen we een bestaande Health Plan Selector-app in Power Apps en verrijken we deze met mogelijkheden voor geautomatiseerde documentgeneratie, met DocuGenerate en Power Automate.

De Health Plan Selector is een voorbeeldapplicatie die nieuwe werknemers helpt bij het verkennen van de zorgplannen van het bedrijf via een reeks begeleide vragen. Op basis van de antwoorden beveelt de app het meest geschikte plan aan. De originele app verstuurt de plandetails echter simpelweg via de standaard e-mailclient van de gebruiker. We vervangen deze basale functionaliteit door een geautomatiseerde workflow die een professioneel PDF-voorstel genereert en dit rechtstreeks aflevert in de inbox van de werknemer, zonder dat handmatig een e-mail hoeft te worden opgesteld.

Deze aanpak creëert een betere ervaring voor zowel HR-teams als nieuwe werknemers. De geautomatiseerde workflow zorgt voor consistentie in hoe planinformatie wordt gepresenteerd, creëert een formeel document dat werknemers op hun gemak kunnen bekijken en met familieleden kunnen bespreken, en elimineert de handmatige stappen bij het opstellen en versturen van deze communicatie. Gedurende deze gids doorlopen we elke stap van de integratie, van het begrijpen van de bestaande app-structuur tot het creëren van een complete workflow voor documentgeneratie.

Beginnen met de Health Plan Selector-Sjabloon

Power Apps biedt een verscheidenheid aan kant-en-klare sjablonen die uitstekende startpunten vormen voor het bouwen van bedrijfsapplicaties. Voor deze tutorial gebruiken we de Health Plan Selector-sjabloon, die veel belangrijke Power Apps-concepten demonstreert, waaronder validatie van gebruikersinvoer, voorwaardelijke logica, navigatie tussen meerdere schermen, en gegevensverzameling.

Om te beginnen, opent u Power Apps en klikt u op Start with an app template. Met deze optie kunt u kiezen uit een lijst met volledig functionele bedrijfsapp-sjablonen die u zo kunt gebruiken of kunt aanpassen aan uw specifieke behoeften. Blader door de beschikbare sjablonen totdat u de Health Plan Selector-app vindt. Deze voorbeeldapp is specifiek ontworpen voor onboardingscenario’s van nieuwe werknemers, en helpt gebruikers bij het verkennen van de zorgplannen van het bedrijf en het ontdekken welke optie het beste werkt voor hen en hun gezin.

Beginnen met de Health Plan Selector-sjabloon

Zodra u dit sjabloon selecteert, maakt Power Apps een nieuwe app in uw omgeving op basis van de sjabloonstructuur. De app bevat alle schermen, besturingselementen, gegevensverzamelingen, en logica die nodig zijn voor de workflow voor het selecteren van een zorgplan. U kunt elk aspect van de app verkennen en aanpassen om deze af te stemmen op het specifieke zorgplanaanbod en de merkrichtlijnen van uw organisatie.

De Voorbeeldapp Begrijpen

De Health Plan Selector-app begeleidt gebruikers door een vragenlijst met meerdere stappen om het meest geschikte zorgplan te bepalen. De app vraagt naar dekkingsbehoeften (individueel, gezin, enz.), gewenste diensten (huisartsenzorg, tandheelkundige zorg, oogzorg, specialisten), budgetvoorkeuren (basis of premium), en andere factoren die de planselectie beïnvloeden. Op basis van deze invoer beveelt de app specifieke plannen aan en toont gedetailleerde informatie, waaronder maandelijkse premies, dekkingslimieten, en eigen bijdragen.

Demo van de workflow van de Health Plan Selector-app

De app is gebouwd met meerdere schermen die verschillende fasen van het selectieproces vertegenwoordigen. Na het maken van de app op basis van het sjabloon, kunt u alle schermen bekijken in het paneel Tree view, dat schermen toont zoals HomeScreen, Step1_Screen, Step2_Screen, Step3_Screen, Step4_Screen, Recommendation_Screen, ViewOptions_Screen, en Share_Screen.

App-schermen in de Tree view

Elk scherm bevat verschillende besturingselementen, zoals tekstinvoervelden, keuzerondjes, selectievakjes, galerijen, en knoppen die samenwerken om gebruikersvoorkeuren te verzamelen en aanbevelingen weer te geven.

De Logica van de Send-Knop Onderzoeken

Voor deze tutorial richten we ons specifiek op Share_Screen, waar gebruikers hun definitieve planaanbeveling zien en de optie hebben om de details naar hun e-mailadres te versturen. Dit is het scherm dat we aanpassen om mogelijkheden voor documentgeneratie te integreren, in plaats van de basale e-mailfunctionaliteit die momenteel bestaat.

Share_Screen bevat een knop SEND die momenteel een mailto-link activeert om een e-mail met de plandetails op te stellen. Om te begrijpen wat we moeten vervangen, bekijken we eerst de bestaande logica van de knop. Wanneer u de knop SEND selecteert in de app-designer, kunt u de bijbehorende code bekijken in de formulebalk.

Code van de Send-knop in Share_Screen

De code gebruikt de functie Launch om de standaard e-mailclient van de gebruiker te openen met vooraf ingevulde onderwerp- en berichtinhoud. Deze aanpak heeft verschillende beperkingen. Het vereist dat de gebruiker een standaard e-mailclient heeft geconfigureerd, het opent de e-mail als concept waardoor de gebruiker handmatig op verzenden moet klikken, en de opmaak is beperkt tot platte tekst met URL-gecodeerde regeleinden.

De code voert ook gegevensverzamelingsbewerkingen uit om de antwoorden van de gebruiker op te slaan in een verzameling genaamd ResponsesCollect. Dit is de volledige code van de originele knop SEND:

If(!IsBlank(TextInput1_1.Text);Collect(ResponsesCollect;{QuestionId:"1";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Radio1.SelectedText.OptionText});;

If(CountRows(BasicCollect)>=1;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(BasicCollect;1)).OptionText)}));;

If(CountRows(BasicCollect)>=2;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(BasicCollect;2)).OptionText)}));;

If(CountRows(BasicCollect)>=3;Collect(ResponsesCollect;{QuestionId:"3";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(BasicCollect;3)).OptionText)}));;If(CountRows(BasicCollect)>=4;Collect(ResponsesCollect;{QuestionId:"4";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(BasicCollect;4)).OptionText)}));;

If(CountRows(BasicCollect)>=5;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(BasicCollect;5)).OptionText)}));;

If(CountRows(AddONCollect)>=1;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;1)).OptionText)}));;If(CountRows(AddONCollect)>=2;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;2)).OptionText)}));;

If(CountRows(AddONCollect)>=3;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;3)).OptionText)}));;

If(CountRows(AddONCollect)>=4;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;4)).OptionText)}));;

If(CountRows(AddONCollect)>=5;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;5)).OptionText)}));;

If(CountRows(AddONCollect)>=6;Collect(ResponsesCollect;{QuestionId:"2";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Text(Last(FirstN(AddONCollect;6)).OptionText)}));;

Collect(ResponsesCollect;{QuestionId:"3";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Radio1_2.SelectedText.OptionText});;

Collect(ResponsesCollect;{QuestionId:"4";ResponseId:Text(CountRows(ResponsesCollect)+1);Response:Radio1_3.SelectedText.OptionText});;

Launch("mailto:"&TextInput1_1.Text&"?subject="&TextBox1_16.Text&" &body=Plan Details:" &TextBox1_16.Text& "%0D%0A" & TextBox3_5.Text & "%0D%0A" &TextBox3_6.Text & "%0D%0A" & TextBox3_7.Text & "%0D%0A" &TextBox3_8.Text& "%0D%0A" & EncodeUrl(TextBox3_9.Text) & "%0D%0A" & EncodeUrl(TextBox3_11.Text));;

Navigate(Screen1;ScreenTransition.Fade);UpdateContext({emailreset:true}));;

Deze code verzamelt antwoordgegevens uit verschillende formulierbesturingselementen en verzamelingen, en bouwt vervolgens een mailto-URL met het e-mailadres uit TextInput1_1.Text, de plannaam uit TextBox1_16.Text als onderwerp, en verschillende andere tekstvakwaarden samengevoegd in het bericht. We vervangen de aanroep van de functie Launch door een aanroep naar een Power Automate-flow die documentgeneratie en e-mailbezorging afhandelt.

De Knop Aanpassen om Power Automate Aan te Roepen

In plaats van de e-mailclient te openen, passen we de knop SEND aan om een Power Automate-flow te activeren. Deze flow ontvangt de plandetails, genereert een professioneel PDF-document met DocuGenerate, en verstuurt dit per e-mail. Vervang de volledige aanroep van de functie Launch door de volgende code:


SendEmailWithDocument.Run(TextInput1_1.Text; TextBox1_16.Text; TextBox3_5.Text; TextBox3_6.Text; TextBox3_7.Text; TextBox3_8.Text; TextBox3_9.Text; TextBox3_11.Text; User().FullName);;

Bijgewerkte code van de knop die de flow SendEmailWithDocument aanroept

Deze aangepaste code roept een Power Automate-flow aan genaamd SendEmailWithDocument en geeft negen parameters door: het e-mailadres, de plannaam, dekkingsdetails, prijs per maand, prijs per individu, limiet voor eigen bijdrage, coassurantiepercentage, aanvullende diensten, en de volledige naam van de huidige gebruiker.

De functie User().FullName haalt de naam van de geauthenticeerde gebruiker op uit Azure Active Directory, die we kunnen opnemen in het gepersonaliseerde document. Deze parameters komen overeen met de data die wordt weergegeven op Share_Screen en vertegenwoordigen de informatie die we willen opnemen in het gegenereerde voorsteldocument.

U zult merken dat Power Apps deze flowreferentie aanvankelijk rood weergeeft, omdat de flow nog niet bestaat. We maken de flow in de volgende sectie, en zodra deze is gekoppeld aan de app, wordt de referentie correct opgelost.

De Power Automate-Flow Maken

Nu maken we de Power Automate-flow die documentgeneratie en e-mailbezorging afhandelt. Navigeer in Power Apps naar de sectie Power Automate in het linkermenu en klik op Create a new flow. Selecteer Create from blank om te beginnen met een leeg flowcanvas.

Een nieuwe flow maken vanaf blanco

Geef uw flow de naam SendEmailWithDocument, overeenkomend met de flownaam die we hebben gebruikt in de knopcode. De eerste stap in elke door Power Apps geactiveerde flow is de trigger Power Apps (V2), die de parameters definieert die de app doorgeeft aan de flow.

Configuratie van de invoerparameters van Power Automate

Klik op Add an input voor elke parameter die u vanuit Power Apps moet ontvangen. De parametertypes moeten overeenkomen met de doorgegeven data (in dit geval allemaal tekst). De onderstaande tabel toont hoe elke flowparameter overeenkomt met het bijbehorende UI-element:

Flow Parameter UI Element Beschrijving
Email TextInput1_1.Text E-mailadres van de ontvanger
Plan_Name TextBox1_16.Text Naam van het aanbevolen zorgplan
Coverage TextBox3_5.Text Beschrijving van het dekkingsniveau
Price_Per_Month TextBox3_6.Text Bedrag van de maandelijkse premie
Price_Per_Individual TextBox3_7.Text Kosten voor individuele dekking
Out_Of_Pocket_Limit TextBox3_8.Text Maximale eigen bijdrage
Coinsurance_Percentage TextBox3_9.Text Coassurantiepercentage
Additional_Services TextBox3_11.Text Lijst van aanvullend gedekte diensten
Name User().FullName Naam van de werknemer uit Azure Active Directory


De DocuGenerate-Sjabloon Voorbereiden

Voordat we de stap voor documentgeneratie aan onze flow toevoegen, moeten we een Word-sjabloon maken in DocuGenerate die de structuur en opmaak van ons zorgplanvoorstel definieert. Het sjabloon gebruikt merge-tags die overeenkomen met de parameternamen die we hebben gedefinieerd in Power Automate, en die worden vervangen door de daadwerkelijke waarden uit de flow.

Het Word-document bevat bedrijfsbranding, een duidelijke header, secties voor plandetails, en aanvullende informatie die op elk voorstel moet verschijnen. Het bevat merge-tags voor alle negen parameters: [Name], [Email], [Plan_Name], [Coverage], [Price_Per_Month], [Price_Per_Individual], [Out_Of_Pocket_Limit], [Coinsurance_Percentage], en [Additional_Services].

Health Plan Proposal-sjabloon met merge-tags

Zodra uw sjabloon klaar is, uploadt u het naar uw DocuGenerate-account en geeft u het de naam Health Plan Proposal. U kunt een kopie van het sjabloon dat in deze tutorial wordt gebruikt hier downloaden.

De Stap voor Documentgeneratie Toevoegen

Om DocuGenerate te gebruiken vanuit Power Automate, moet u de aangepaste connector installeren in uw Power Platform-omgeving. De eerste keer dat u deze gebruikt, moet u zich authenticeren met uw DocuGenerate-API-sleutel, die u kunt vinden in uw DocuGenerate-accountinstellingen. Dit creëert een verbinding die kan worden hergebruikt in meerdere flows binnen uw omgeving.

Nu het sjabloon is gemaakt en de connector beschikbaar is, kunnen we de stap voor documentgeneratie aan onze flow toevoegen. Klik op New step in uw flow en zoek naar “DocuGenerate”. Selecteer de actie Generate Document uit de lijst met beschikbare bewerkingen.

Zoeken naar de DocuGenerate-connector

Om de actie te configureren, selecteert u uw sjabloon in de vervolgkeuzelijst Template. Als u uw sjabloon heeft geüpload met de naam “Health Plan Proposal”, ziet u dit in de lijst. Stel vervolgens de parameter Name in om op te geven hoe het gegenereerde document moet heten. Selecteer .pdf als Format, zodat het gegenereerde document wordt afgeleverd als een professionele PDF in plaats van een bewerkbaar Word-bestand.

Configuratie van de stap Generate Document

Voor de parameter Data moet u een JSON-object opgeven met alle waarden voor de merge-tags in uw sjabloon. Vervang elke lege tekenreeks door de juiste dynamische content uit de triggerstap. Power Automate toont deze als tokens in de expressie in plaats van letterlijke tekenreeksen.

{
  "Name": "",
  "Email": "",
  "Plan_Name": "",
  "Coverage": "",
  "Price_Per_Month": "",
  "Price_Per_Individual": "",
  "Out_Of_Pocket_Limit": "",
  "Coinsurance_Percentage": "",
  "Additional_Services": ""
}

De E-Mail met het Document Versturen

De laatste stap in onze flow stuurt een e-mail naar de werknemer met het gegenereerde PDF-voorstel als bijlage. Voeg een nieuwe stap toe en zoek naar de actie Send an email notification (V3).

Configuratie van de stap Send an email notification

Configureer de e-mailparameters als volgt. Stel het veld To in op de waarde Email uit de Power Apps-trigger, wat het adres is dat de werknemer in de app heeft ingevoerd. Gebruik voor Subject iets beschrijvends, zoals Your Personalized Healthcare Plan Proposal. Stel in het veld Body een vriendelijk bericht op dat uitlegt wat de bijlage bevat en eventuele vervolgstappen aangeeft die de werknemer moet nemen.

De belangrijkste configuratie is de sectie met bijlagen. Hier koppelt u de gegenereerde PDF aan de e-mail. Selecteer voor de parameter Attachment de uitvoer document_uri van de stap Generate Document. Selecteer voor de parameter Attachment File Name de uitvoer filename van dezelfde stap. Dit zorgt ervoor dat de e-mail het daadwerkelijke PDF-document met de juiste bestandsnaam bevat.

Nu deze laatste stap is geconfigureerd, slaat u uw flow op en test u deze om er zeker van te zijn dat alles correct werkt.

De Volledige Integratie Testen

Nu zowel de Power Apps-app als de Power Automate-flow zijn geconfigureerd, is het tijd om de volledige integratie te testen. Voer de app uit in previewmodus en doorloop het proces voor het selecteren van een zorgplan. Beantwoord de vragen over dekkingsbehoeften, gewenste diensten, en budgetvoorkeuren. Wanneer u het bevestigingsscherm bereikt, voert u uw e-mailadres in en klikt u op de knop SEND. Als alles correct is geconfigureerd, activeert de knop de Power Automate-flow, die de PDF genereert en de e-mail verstuurt.

Het document bevat alle plandetails met de merge-tags vervangen door daadwerkelijke waarden uit de app, en de opmaak komt overeen met het professionele sjabloonontwerp.

Als u problemen ondervindt, controleert u de flowuitvoeringsgeschiedenis in Power Automate om te zien waar het proces mogelijk is mislukt. Veelvoorkomende problemen zijn onder meer onjuiste parameterkoppelingen, of authenticatieproblemen met een van de connectors. De flowuitvoeringsgeschiedenis biedt gedetailleerde informatie over elke stap, inclusief de doorgegeven data en eventuele foutmeldingen die zijn opgetreden.

Voordelen van Deze Aanpak

Het vervangen van de basale functionaliteit voor het versturen van e-mails door geautomatiseerde documentgeneratie en e-mailbezorging biedt verschillende voordelen voor zowel HR-teams als werknemers. De geautomatiseerde workflow zorgt voor consistentie in hoe zorgplaninformatie wordt gepresenteerd aan alle werknemers, waardoor variaties worden geëlimineerd die kunnen ontstaan wanneer individuen handmatig e-mails opstellen. De gegenereerde PDF dient als formeel document dat werknemers kunnen opslaan, afdrukken, en raadplegen gedurende de inschrijvingsperiode, waardoor het eenvoudiger wordt om opties te vergelijken of plannen met familieleden te bespreken.

Vanuit operationeel oogpunt vermindert deze integratie de handmatige inspanning die van HR-medewerkers wordt gevraagd. In plaats van werknemers individueel te helpen bij het opstellen van e-mails of het voorbereiden van plansamenvattingen, verzorgt het systeem dit automatisch op basis van de aanbevelingen die door de app worden gegenereerd. Dit maakt HR-tijd vrij voor waardevollere activiteiten, zoals het beantwoorden van specifieke vragen of het helpen van werknemers bij complexe situaties.

De aanpak creëert ook betere documentatie voor compliancedoeleinden. Elk gegenereerd voorstel is een record van welke informatie aan de werknemer is verstrekt, wat belangrijk kan zijn voor wettelijke naleving of als er later vragen rijzen over wat er tijdens het inschrijvingsproces is gecommuniceerd. U zou de workflow verder kunnen uitbreiden door een stap toe te voegen die elk gegenereerd voorstel opslaat in SharePoint of een ander documentbeheersysteem voor gecentraliseerde archivering.

Conclusie

Het verrijken van Power Apps-applicaties met mogelijkheden voor geautomatiseerde documentgeneratie toont de kracht van het Microsoft Power Platform-ecosysteem in combinatie met gespecialiseerde diensten zoals DocuGenerate. De integratie die we hebben gebouwd, transformeert een eenvoudige app voor het selecteren van zorgplannen in een complete onboardingoplossing die werknemers begeleidt bij de planselectie en automatisch professionele voorsteldocumenten aflevert.

Deze tutorial richtte zich op zorgplanvoorstellen, maar hetzelfde integratiepatroon kan worden toegepast op veel andere Power Apps-scenario’s. Telkens wanneer uw app data verzamelt die moet worden opgemaakt als een formeel document en afgeleverd bij gebruikers of opgeslagen voor archivering, kan deze aanpak van het gebruiken van Power Automate om documentgeneratie en distributie te orkestreren aanzienlijke waarde toevoegen. Of u nu arbeidsovereenkomsten, aanbiedingsbrieven, trainingscertificaten, of aangepaste rapporten genereert, de combinatie van Power Apps voor gegevensverzameling, Power Automate voor workfloworkestratie, en DocuGenerate voor documentgeneratie biedt een krachtige en flexibele oplossing.

De no-code aard van deze integratie maakt het toegankelijk voor business analisten en power users die mogelijk geen traditionele ontwikkelvaardigheden hebben. Door gebruik te maken van vooraf gebouwde connectors en visuele workflowdesigners, kunt u geavanceerde oplossingen voor documentautomatisering maken zonder aangepaste code te schrijven of complexe infrastructuur te beheren.

Bronnen